package com.ak.demo;

import com.ak.demo.myjob.HelloJob;
import com.ak.demo.myjob.HelloJobDataMap;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

public class MyTestJobDataMap {
    public static void main(String[] args) throws SchedulerException {

        //创建一个scheduler
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        // scheduler 中放置值
        scheduler.getContext().put("skey", "svalue");


        //创建一个job,和Helloword 完成绑定
        JobDetail job = JobBuilder.newJob(HelloJobDataMap.class)
                // 放入job 业务中的数据
                .usingJobData("job1", "job1_value_1")
                 // 参数一： 任务的实例（唯一），任务组的名称
                .withIdentity("myjob", "mygroup")
                .build();


        // job 业务中的一个值，
        job.getJobDataMap().put("j2", "jv2");

        //创建一个Trigger
        Trigger trigger = TriggerBuilder.newTrigger()
                // 触发器的名称 ，参数二：触发器的 组
                .withIdentity("trigger1", "group1")
                // 放置job 业务中的数据
                .usingJobData("t1", "tv1")
                // 设置
                .withSchedule(
                        SimpleScheduleBuilder
                        .simpleSchedule()
                                // 3秒钟重复 执行一次
                        .withIntervalInSeconds(3)
                                // 一直重复下去
                        .repeatForever())
                .build();

        // 触发器中放置数据
        trigger.getJobDataMap().put("t2", "tv2");

        //注册trigger并启动scheduler
        scheduler.scheduleJob(job,trigger);

        // 触发器开始执行
        scheduler.start();

    }
}
